

package br.com.pi.SmartFast.model;

//import com.mysql.jdbc.PreparedStatement;
//import java.sql.Connection;
//import java.sql.ResultSet;
//import java.sql.SQLException;
import javax.swing.JOptionPane;
import java.sql.*;


/**
 *
 * @author Jeferson de Andrade
 */
public class FuncionarioDAO {


    Connection conn = null;



    /**Método destinado a gravar informações no banco com objetos do tipo Funcionario
     *
     */

    public void gravaFuncionario(Funcionario funcionario){

        try{
         conn = ConexaoBancoDados.getConexaoMySql();//recebe a conexão com o banco de dados
            String sql = "INSERT INTO funcionario(Nome,endereço,telefone, login, senha," +
                    " fk_cidade, fk_genero, fk_profissao)VALUES(?,?,?,?,?,?,?,?)";
            PreparedStatement stm = (PreparedStatement) conn.prepareStatement(sql);//recebe a instrução sql
            stm.setString(1, funcionario.getNome());//grava nome
            stm.setString(2, funcionario.getEndereco());//grava endereço
            stm.setString(3, funcionario.getTelefone());//grava telefone
            stm.setString(4,funcionario.getLogin());//grava login
            stm.setString(5,funcionario.getSenha());//grava senha
            stm.setInt(6,funcionario.getFk_Cidade());//grava id da cidade
            stm.setInt(7,funcionario.getFk_Genero());//grava id do genero
            stm.setInt(8, funcionario.getFk_Profissao());//grava id da profissão
            stm.execute();//executa  o statement
            stm.close();//fecha
           }catch(Exception e){
               System.out.println("Erro no banco" + e);
            }
    }

    public ResultSet getDadosTabela(String sql) throws SQLException{
            //System.out.println(sql+" sql dados");
           conn = ConexaoBancoDados.getConexaoMySql();
           Statement stm = conn.prepareStatement(sql);
           ResultSet rs = stm.executeQuery(sql);
          // System.out.println(rs.getRow()+" get dados");
           return rs;

    }

    public void EditarFuncionario(Funcionario func){
        
        try{
System.out.println(func.getIdFuncionario()+" id func");
            this.conn = ConexaoBancoDados.getConexaoMySql();

            String sql = "UPDATE funcionario SET" +
                    " nome = ?," +
                    " endereço = ?," +
                    " telefone = ?," +
                    " login = ?," +
                    " senha = ?," +
                    " fk_cidade = ?," +
                    " fk_genero = ?," +
                    " fk_profissao = ? " +
                    " WHERE id_funcionario = '"+func.getIdFuncionario()+"'";

            PreparedStatement stm = (PreparedStatement) conn.prepareStatement(sql);

            stm.setString(1, func.getNome());//grava nome
            stm.setString(2, func.getEndereco());//grava endereço
            stm.setString(3, func.getTelefone());//grava telefone
            stm.setString(4,func.getLogin());//grava login
            stm.setString(5,func.getSenha());//grava senha
            stm.setInt(6,func.getFk_Cidade());//grava id da cidade
            stm.setInt(7,func.getFk_Genero());//grava id do genero
            stm.setInt(8,func.getFk_Profissao());//grava id da profissão

            stm.execute();
            stm.close();

        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
    }

}
